<!-- components/MenuItem.vue -->
<template>
  <el-sub-menu v-if="menu.children && menu.children.length > 0" :index="menu.path">
    <template #title>
      <el-icon v-if="menu.icon && iconMap[menu.icon]">
        <component :is="iconMap[menu.icon]" />
      </el-icon>
      <span>{{ menu.name }}</span>
    </template>
    <template v-for="child in menu.children" :key="child.path">
      <MenuItem :menu="child" :icon-map="iconMap" :collapse="collapse" />
    </template>
  </el-sub-menu>
  <el-menu-item v-else :index="menu.path">
    <el-icon v-if="menu.icon && iconMap[menu.icon]">
      <component :is="iconMap[menu.icon]" />
    </el-icon>
    <span>{{ menu.name }}</span>
  </el-menu-item>
</template>

<script setup lang="ts">
// @ts-nocheck
// 菜单项组件

const props = defineProps<{
  menu: any
  iconMap: any
  collapse?: boolean
}>()
</script>